home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / misc / edu / Mentat.lha / Mentat / MCC_Textinput.Readme next >
Text File  |  2000-05-21  |  26KB  |  837 lines

  1. Textinput MUI Custom Class
  2. ==========================
  3.  
  4. This is a combined single/multi line editor gadget. Key features:
  5.  
  6. · only one compact class for single line/multi line mode,
  7.   efficient due to code sharing
  8. · same prefs for single line/multi line mode
  9. · optional external editing in sync/async mode for multi line
  10.   mode
  11. · fully configurable key bindings
  12. · supports cut & paste
  13. · supports many style configuration options including
  14.   blinking and bar cursor
  15. · includes numeric mode with upper/lower bounds check
  16. · support old stringclass tags/methods for easy "drop in"
  17.   replacement in existing code
  18. · works nicely in virtgroups (unlike the gadgetclass based
  19.   stringclass)
  20.  
  21. The class is still somewhat in "beta" and doesn't yet have
  22. proper documentation. Include file and demo program source
  23. are included, though.
  24.  
  25. History
  26. -------
  27.  
  28. 11.10
  29. -----
  30. (first public release included in MD-2 0.182beta)
  31.  
  32. 11.11
  33. -----
  34. - paste from clipboard now works
  35. - fixed all kind of problems with internal
  36.   status loss during certain operations
  37. - SHIFT-DEL and SHIFT_BS now delete to beginning/to
  38.   end of line
  39.  
  40. 11.12
  41. -----
  42. - fixed problems with marking/cursor pointer
  43.   pointing to freed mem on a buffer expand
  44. - major speedup in text output
  45. - cut & copy into clipboard now works
  46.  
  47. 11.13
  48. -----
  49. - setting MUIA_(Textinput|String)_Contents with NULL
  50.   caused enforcer orgy
  51.  
  52. 11.14
  53. -----
  54. - prefs now have a "Samples" page of their own to
  55.   make the group fit on 640x200 screen
  56. - gadget didn't go inactive upon a cleanup
  57. - DoCopy will now copy the whole contents to clipboard
  58.   if no block is marked
  59.  
  60. 12.0
  61. ----
  62. - totally changed key control settings; keys are now
  63.   a list of key/action pairs (up to 32). It's now
  64.   possible to specify more than one key for an action.
  65. - added a key action for calling external editor
  66.   (defaults to "ramiga e")
  67. - added MUIA_Textinput_MinVersion attribute; object
  68.   refuses to create itself if the required version is
  69.   less than current version
  70.  
  71. 12.1
  72. ----
  73. - fixed another problem with buffer expanding
  74. - fixed another problem with active state loss
  75.  
  76. 12.2
  77. ----
  78. - added asynchronous external editor mode. If set, editor
  79.   is called asynchronously, object remains enabled and
  80.   a notification is made on the temp file. If changes to
  81.   the file are made, it is reread.
  82. - added default popup menu (defaults to on for multi,
  83.   off for single line objects)
  84. - speed up pasting of text from clipboard
  85. - text input is generally faster now
  86. - no longer craps out when trying to past multi line strings
  87.   into a single line gadget
  88.  
  89. 12.3
  90. ----
  91. - "Mark all" would place the cursor pointer past the end of
  92.   the buffer, thus creating all kind of not so neat side effects
  93. - copying all text to clipboard caused to add a 0 byte at the
  94.   end of the data
  95. - Added optional wordwrap.
  96.  
  97. 12.4
  98. ----
  99. - pressing lamiga/ramiga command keys no longer activates any
  100.   window menu shortcuts
  101.  
  102. 12.5
  103. ----
  104. - shortended popup menu title size
  105. - wordwrap now defaults to "ON" for multi line gadgets
  106.   (70 chars)
  107. - "Cut line" now works as advertized
  108. - fixed problem with cutting text loosing cursor pointer focus
  109.  
  110. 12.6
  111. ----
  112. - wordwrap defaults can now be specified in the prefs
  113. - external editor can now be started multiple times in
  114.   async mode
  115.  
  116. 12.7
  117. ----
  118. - fixed resetting of drawmode to JAM1 (fixes artefacts)
  119. - setting/getting of MUIA_Textinput_Integer (and
  120.   _String_Integer/_Numeric_Value) now works
  121. - added MUIA_Textinput_Changed attribute
  122.  
  123. 12.8
  124. ----
  125. - fixed problems with D&D (Mousebutton events weren't eaten
  126.   up, thus triggering D&D during mark)
  127. - now handles attached popup and attached lists correctly
  128. - pressing return in a single line gadget while text is marked
  129.   no longer replaces that text
  130.  
  131. 12.9
  132. ----
  133. - fixed a problem with blinking cursor trashing the rastport
  134.   drawmode
  135.  
  136. 13.0
  137. ----
  138. - now all keys are configurable independant of MUI navigation
  139.   prefs
  140. - added MUIA_Textinput_RemainActive attribute. Object will
  141.   remain active even after pressing RETURN in a single line
  142.   gadget.
  143. - added MUIM_Textinput_Acknowledge method which is sent on
  144.   pressing RETURN. Default handling is set() of MUIA_Textinput_Acknowledge
  145.   and MUIA_String_Acknowledge to rootclass for backward
  146.   compatibility.
  147. - AcceptChars/RejectChars now work
  148. - IsNumeric now works, including range checking
  149. - notification on MUIA_Textinput_Changed is now possible
  150. - added MUIM_Textinput_TranslateEvent hook method which allows
  151.   to hook into textinput's inputevent->string translation.
  152.   MapRawKey() has already been called at this place so the
  153.   subclass can directly modify the translated buffer.
  154. - MUIM_HandleEvent is now called on the real class, instead of
  155.   being coerced on the textinput class directly, to allow to
  156.   totally hook the input handling
  157. - added MUIM_Textinput_InsertText method to insert text at
  158.   the current cursor position
  159. - pasting of multi line text into single line gadget is now
  160.   possible; the application must be careful to process all
  161.   text during the MUIM_Textinput_Acknowledge method (or
  162.   notification triggered on MUIA_Textinput_Acknowledge),
  163.   because the method is called for every line in the
  164.   clipboard data
  165. - added support for MUIA_Textinput_Secret/MUIA_String_Secret.
  166.   Will not allow cutting/copying from such strings to avoid
  167.   easy revelation of the password in question
  168. - setting MUIA_Textinput_Contents now causes the cursor to
  169.   be at the end of the text, not at the beginning
  170. - multi line textinputs with scroller no longer send a 
  171.   scroller inform when the scroller positions haven't changed.
  172.   Speeds up general option esspecially during text input.
  173. - added word left/right functionality
  174.  
  175. 13.1
  176. ----
  177. - moved DEL/BS and TAB functionality to configurable keys, too
  178. - changed key config ID to avoid clashes with previous
  179.   (incomplete) key bindings
  180. - fixed duplicate IDs for wordwrap on and wordwrap column
  181. - HELP key no longer causes CSI trash to be inserted into strings
  182.  
  183. 13.2
  184. ----
  185. - various operations which modified contents didn't actually
  186.   trigger notification on MUIA_Textinput_Contents/Changed.
  187. - RemainActive now disables the automatic deactivation of
  188.   the gadget when clicking outside of the container bounds
  189. - fixed the "Last line" bug
  190. - fixed bogus xoffset not resetting to 0 on set() of
  191.   string contents
  192.  
  193. 13.3
  194. ----
  195. - fixed popup menu "Word wrap" toggling
  196. - fixed string insertion to not always trigger a string
  197.   acknowledge when inserting strings without \n
  198. - fixed excess scrollbar refreshes
  199.  
  200. 13.4
  201. ----
  202. - added MUIA_Textinput_Lines attribute (notificable)
  203. - fixed problems with cursor not being made properly 
  204.   visible when a left scroll is required
  205. - fixed TAB to not do a double jump
  206. - now holds a class global cache of translated input
  207.   expressions; reduces object setup time drastically
  208.   and reduces per-object memory requirements
  209. - fixed a few more potential problems with the scroll bars
  210.   not being updated correctly
  211. - textinputscroll.mcc now properly forwards MUIM_Notify to
  212.   the textinput object only
  213.  
  214. 13.5
  215. ----
  216. - no longer disables menu shortcuts when active
  217.  
  218. 13.6
  219. ----
  220. - added MUIA_Textinput_Editable
  221. - works around a nasty problem with IEQUALIFIER_MIDBUTTON
  222.   being set on every and all input events on some systems,
  223.   thus making the input handling not match anything.
  224.   Now strips down matched Qualifiers to keyboard only
  225.   (without CAPSLOCK)
  226.  
  227. 13.7
  228. ----
  229. - unmapped special keys no longer cause bogus CSI sequences
  230.   to be inserted
  231. - now handles menu shortcuts again (textinput key defs
  232.   take precedence, though)
  233. - external edit button is now properly disabled in noedit
  234.   mode
  235. - "external edit" popup entry is now properly disabled in noedit
  236.   mode
  237. - secret mode no longer shows a bogus char at the end of line
  238. - "cut line" no longer copies to clipboard (and therefore now
  239.   works in secret mode, too)
  240. - "cut line" didn't check whether the cursor was still visible
  241. - revert changes now works
  242. - pasting of multi line text into single line gadgets was
  243.   hosed
  244.  
  245. 13.8
  246. ----
  247. - now raises task priority for more smooth input handling when
  248.   active
  249. - changed default key binding for "cut line" to "ramiga y"
  250.   and for "cut marked" to "ramiga x"
  251. - "Cut marked" now behaves differently in single line mode;
  252.   if nothing is marked, the gadget is erased completely (to
  253.   match standard amiga string gadget behavior)
  254. - added double click mark handling; double click selects word,
  255.   triple click line, quad click everything and more clicks
  256.   deselects again
  257. - added "backspace to start of word" and "delete till end of word"
  258.   functionality, default mappings to control-bs/del
  259. - menu shortcuts no longer trigger gadget shortcuts
  260.  
  261. 13.9
  262. ----
  263. - no longer inserts a bogus blank when tabbing out of the gadget
  264. - added MUIM_Textinput_InsertFromFile functionality
  265. - added "Insert file" UI functionality; default key binding "ramiga shift o"
  266.  
  267. 13.10
  268. -----
  269. - added MUIA_Textinputscroll_UseWinBorder
  270. - priority will now be set to normal if the window containing the
  271.   gadget is deactivated
  272.  
  273. 13.11
  274. -----
  275. - now using highly optimized TextFit/TextLength replacement for
  276.   better output speed
  277.  
  278. 13.12
  279. -----
  280. - improved overall speed with various internal optimizations
  281. - fixed cursor size to be calculated from the font's blank width,
  282.   not tf_XSize, which could cause problems with some font sets
  283.  
  284. 13.13
  285. -----
  286. - Prefs: Label for cursor colors accidentally read "marked", too
  287. - fixed a problem with characters not part of the current font
  288.   messing up the size calculations
  289. - now compiled with SAS/C 6.58
  290.  
  291. 13.14
  292. -----
  293. - notify events are now directly CoerceMethod()ed on the notify class
  294.   to avoid going through the areaclass dispatcher/OM_SET method
  295.  
  296. 13.15
  297. -----
  298. - now sets writemask/maxpen on planar display for much better rendering
  299.   speed on AGA systems
  300.  
  301. 13.16
  302. -----
  303. - fixed a problem with the font not being set on initial redraws
  304. - fixed a problem with planemasks not being reset when rendering
  305.   the cursor, thus causing all kinds of artifacts
  306.  
  307. 13.17
  308. -----
  309. - fixed a problem with the gadget not setting up properly when text
  310.   was set()ed before receiving a MUIM_Setup
  311.  
  312. 13.18
  313. -----
  314. - fixed enforcer flood when a object was MUIM_Setup'ed when containing
  315.   text
  316. - no longer does wordwrap in single line gadgets
  317. - no longer wordwraps lines starting with ">" (to avoid messup of
  318.   quoted text)
  319. - reenabled double click functionality
  320.  
  321. 13.19
  322. -----
  323. - modified default color scheme to use the BOOPSI stringclass
  324.   alike color inversions for rendering the cursor
  325. - fixed problems with the gadget remaining visually "active"
  326.   even when the window containing the gadget was deactivated
  327. - fixed task priority screwing
  328.  
  329. 13.20
  330. -----
  331. - fixed disabling of Wordwrap/Insert file popup menu items
  332.   for "NoEdit" mode gadgets
  333. - fixed screwup with non-proportional fonts
  334.  
  335. 13.21
  336. -----
  337. - default cursor color is now the complement of the active
  338.   string color, not the standard string color (this matches
  339.   stringclass behavior)
  340.  
  341. 13.22
  342. -----
  343. - now recognizes some language specific chars as parts of
  344.   words when jumping
  345. - fixed a longstanding bug in the font width calculation
  346.   which went berzerk upon hitting a non-printable character
  347.   (control codes, for example)
  348.  
  349. 13.23
  350. -----
  351. - fixed a bug with textinput going mad if the char kerning
  352.   table had a negative value (xhelvetica, for example)
  353. - "cut" didn't update some internal cursor state variables
  354.   thus causing some messup
  355.  
  356. 13.24
  357. -----
  358. - fixed another bug related to characters below tf_LoChar
  359.   being in the font set
  360. - fixed a race condition with MUIM_GoActive ariving before
  361.   MUIM_Show/MUIM_Setup
  362. - fixed a problem with wordwrap not stopping on a line
  363.   which had other whitespaces before the trailing \n
  364. - fixed a race condition in mccheader.c which could
  365.   cause a big nuke during libopen
  366. - fixed word jump not working with upper case letters
  367.  
  368. 13.25
  369. -----
  370. - fixed another wordwrap related problem
  371. - external editor is now called with 16k stack size
  372. - fixed a long standing bug with asynchronous external
  373.   editor calls only working once
  374. - added MUIA_Textinput_MarkStart | _MarkEnd attributes
  375.   which return the byte offset of the marked area
  376.   start/end or MUIV_Textinput_NoMark
  377.  
  378. 13.26
  379. -----
  380. - fixed another problem with the activation state
  381.   being lost under certain circumstances
  382.  
  383. 13.27
  384. -----
  385. - fixed serious bug with DoubleClick moving the
  386.   internal mark start pointer before the actual buffer,
  387.   causing all kinds of neat side effects including
  388.   Major Crash®
  389. - fixed cursor refresh problem when cursor was
  390.   on a char with negative kerning values
  391.  
  392. 13.28/29 (internal only)
  393. ------------------------
  394.  
  395. 13.30
  396. -----
  397. - added hyper textfit/textlen code from V/MUI 4.0,
  398.   improving output speed and esspecially input response 
  399.   times
  400.  
  401. 13.31
  402. -----
  403. - fixed the just reimplemented "unknown char" offset bug
  404.   again
  405.  
  406. 13.32
  407. -----
  408. - MUIA_Textinput_MarkStart/End are now both settable.
  409. - MUIA_Textinput_CursorPos is now settable.
  410. - added new overridable method MUIM_Textinput_HandleChar
  411.   which encapsulates the "single printable char"
  412.   handler.
  413.  
  414. 13.33
  415. -----
  416. - modified the activate/inactivate handling a bit
  417.  
  418. 13.34
  419. -----
  420. - fixed handling of menu shortcut selection while TI
  421.   is active
  422. - fixed window activation sometimes not causing a proper
  423.   redraw of the currently active TI object
  424. - fixed some longword boundary alignments in TI's
  425.   data structure which could cause uneccessary slowdowns
  426.   on 68020+
  427. - fixed button up events to no longer trigger a whining
  428.   "Hey, this is a readonly-gadget!" beep in readonly
  429.   mode
  430. - did some general optimizations speeding up normal
  431.   input
  432.  
  433. 13.35
  434. -----
  435. - now strips \r when OM_SETting the complete buffer
  436. - fixed another instance of the bogus "Hey, I'm readonly"
  437.   DisplayBeep()-whining
  438. - fixed broken cursor offset calculation in secret mode
  439. - optimized calculation of current line length
  440.  
  441. 13.36
  442. -----
  443. - fixed a serious bug in the drawline code which could cause
  444.   a RectFill() call with min/max exchanged, thus causing a nuke
  445.   on AGA
  446. - removed all calls to OldOpenLibrary() to make Richard
  447.   Körber happy
  448.  
  449. 13.37
  450. -----
  451. - fixed a serious internal state screwup which occured
  452.   when ramiga b ("mark start") was pressed and no
  453.   cursor movement followed up before an actual key
  454.   was entered -- basically ended up in a strcpy( -1, -1 );
  455.  
  456. 13.38
  457. -----
  458. - fixed a potential race condition when creating menu events
  459.   from hotkeys which caused a MUIM_Cleanup operation (most
  460.   notably direct notifications to MUIA_Application_Iconified)
  461.  
  462. 13.39
  463. -----
  464. - added support for Contact Manager direct insertion
  465.  
  466. 13.40
  467. -----
  468. - textinput.mcp didn't save wordwrap settings
  469.  
  470. 13.41
  471. -----
  472. - fixed MUIA_ControlChar handling (thanks Zapek)
  473.  
  474. 13.42
  475. -----
  476. - fixed the task priority screwing which only caused
  477.   trouble anyway. Also fixes the infamous AmIRC
  478.   "scroller going deaf" bug
  479.  
  480. 13.43
  481. -----
  482. - added workaround for obscure conditions where
  483.   the window rastport suddenly is devoid of a layer...
  484.  
  485. 13.44
  486. -----
  487. - added "Popup" checkboxes for single and multiline gadgets
  488.   in prefs
  489.  
  490. 13.45
  491. -----
  492. - fixed division by zero bug in Textinputscroll.mcc
  493.  
  494. 13.46
  495. -----
  496. - fixed bogus framing of Textinputscroll objects
  497.   when setting them active
  498.  
  499. 13.47
  500. -----
  501. - fixed GoActive in scroller class to actually activate
  502.   the contained textinput object (KingGuppy)
  503. - fixed setting MUIA_String_Contents not triggering
  504.   notification on MUIA_Text_Contents and vice versa
  505.   (KingGuppy)
  506. - fixed setting MUIA_*_Integer/Numeric_Value not
  507.   triggering notification on MUIA_*_Contents and
  508.   MUIA_Textinput_Changed
  509. - fixed DoTop/DoBottom/DoPageUp/DoPageDown
  510.   not checking cursor x position for validity,
  511.   thus potentially wrecking havoc (KingGuppy)
  512.  
  513. 13.48
  514. -----
  515. - when selecting an area and pasting from clipboard,
  516.   the selected area is now replaced
  517. - when CManager wasn't installed, the menu item
  518.   was disabled, but would still generate
  519.   ContextMenuChoice events, thus crashing
  520. - added a hopefully working workaround against
  521.   hacks moving window positions to negative coordinates
  522.  
  523. 13.49
  524. -----
  525. - change of behavior: When pasting text into a
  526.   single line gadget which hasn't got
  527.   MUIA_TextInput_RemainActive set, the pasting will
  528.   now stop as soon as the data stream hits an
  529.   \r or \n. This should fix the rather annoying
  530.   behavior when pasting a line with trailing crlf
  531.   into a single line gadget to visually only
  532.   erase the contents (for example, in MD2
  533.   To:/Cc:/Post: fields)
  534.  
  535. 14.0
  536. ----
  537. - added MUIA_Textinputscroll_VertScrollerOnly
  538.  
  539. 15.0
  540. ----
  541. - added MUIA_Textinput_NoInput which makes TI
  542.   behave like a plain textfield with no input.
  543.   Still allows marking/copying text with the mouse.
  544. - updated Demo to reflect the textfield mode
  545. - updated MCP class to have a noinput sample
  546. - added a 68020++ compile of the main class to
  547.   the archive
  548.  
  549. 15.1
  550. ----
  551. - NoInput mode gadgets no longer set
  552.   ActiveObject to NULL when a mouse click occurs
  553.   outside the object
  554.  
  555. 16.0
  556. ----
  557. - several internal optimisations (KingGuppy)
  558. - NoInput gadgets now render the defined MUI background (KingGuppy)
  559. - NoInput gadgets now default to MUIA_Textinput_AutoExpand mode (KingGuppy)
  560. - added clickable URLs (KingGuppy)
  561. - now accepts MUIA_Text_Contents as an alias for MUIA_Textinput_Contents
  562.   (KingGuppy)
  563. - now requires vapor_toolkit.library (KingGuppy)
  564.  
  565. 16.1
  566. ----
  567. - all attributes listed as gettable now are (KingGuppy)
  568. - fixed selection of URLs at the end of the line when clicking past the end
  569.   (KingGuppy)
  570.  
  571. 16.2
  572. ----
  573. - added MUIA_Textinput_SetMin, MUIA_Textinput_SetMax and MUIA_Textinput_SetVMax
  574.   (KingGuppy)
  575. - added IRC styles support (KingGuppy)
  576. - optimised and improved delete and backspace functions (KingGuppy)
  577. - added acceleration to scrolling based on pointer distance from gadget
  578.   (KingGuppy)
  579.  
  580. 17.0
  581. ----
  582. - fixed background offsets (KingGuppy)
  583. - Textinputscroll objects are now framed when active in NoInput mode
  584.   (KingGuppy)
  585. - NoInput objects now use TextPen rather than the Textinput configured inactive
  586.   pen (KingGuppy)
  587. - fixed potential crash with non-editable, VertScrollerOnly Textinputscroll
  588.   objects (KingGuppy)
  589. - disabled external edit gadget for NoInput Textinputscroll objects (KingGuppy)
  590. - styles are now displayed in input gadgets (KingGuppy)
  591.  
  592. 17.2
  593. ----
  594. - temporarily disabled WriteMask
  595. - fixed two pens never being freed
  596. - removed stale debugging information
  597.  
  598. 17.3
  599. ----
  600. - MUIA_Textinput_SetMin now defaults to FALSE for all Textinputscroll objects
  601.   (KingGuppy)
  602. - reenabled WriteMask and hoping for the best (KingGuppy)
  603. - NoInput Textinputscroll objects are now scrollable via the keyboard
  604.   (KingGuppy)
  605. - now adds the "external edit" button to the cyclechain when appropriate
  606.   (KingGuppy)
  607. - fixed Enforcer hits with backspace/delete when using fixed-width fonts
  608.   (KingGuppy)
  609. - input objects no longer have their marked area cleared when going inactive
  610.   (KingGuppy)
  611. - style codes used while marking will add or remove the codes from the marked
  612.   area (KingGuppy)
  613.  
  614. 18.0
  615. ----
  616. - added MUIA_Textinput_PreParse (KingGuppy)
  617. - MUI styles now work, and are the default for NoInput gadgets (KingGuppy)
  618. - partial line rendering is now disabled for proportional fonts and styled text
  619.   (KingGuppy)
  620.  
  621. 18.1
  622. ----
  623. - fixed MUIA_Text(input)_PreParse
  624. - fixed resetting of SoftStyles after rendering
  625.  
  626. 18.2
  627. ----
  628. - fixed style tokens being shown during word marking in NoInput objects
  629.   (KingGuppy)
  630.  
  631. 18.3
  632. ----
  633. - the background pen is now restored to 0 after rendering to eliminate some
  634.   messups (KingGuppy)
  635. - writemasks are now handled better under OS 3.0+ and when rendering
  636.   backgrounds of NoInput objects (KingGuppy)
  637. - disabled spellchecking test code which was slowing down editing (KingGuppy)
  638.  
  639. 19.0
  640. ----
  641. - implemented pen selection MUI styles (KingGuppy)
  642. - implemented "disable style parsing" (ESC -) MUI code (KingGuppy)
  643. - added MUIA_Textinput_Format (same as MUIA_String_Format) (KingGuppy)
  644. - disabling popup menus in preferences now works properly (KingGuppy)
  645.  
  646. 19.1
  647. ----
  648. - improved entering styles whilst marking (KingGuppy)
  649. - added basic styles to popup menu (KingGuppy)
  650. - changing popup menu prefs now *really* works properly (KingGuppy)
  651. - pressing RMB while marking or selecting a URL now aborts (KingGuppy)
  652.  
  653. 20.0
  654. ----
  655. - aborting URL selection with RMB now redraws properly (KingGuppy)
  656. - implemented MUI formatting styles (KingGuppy)
  657. - setting the contents of a NoInput object to a string with newline characters
  658.   will now set MUIA_Textinput_Multiline if it isn't already (KingGuppy)
  659. - added MUIA_Textinput_SetVMin (KingGuppy)
  660.  
  661. 20.1
  662. ----
  663. - fixed buffer miscalculation in MUIM_Textinput_LoadFromFile
  664.  
  665. 21.0
  666. ----
  667. - MUIA_String_BufferPos is now a synonym for MUIA_Textinput_CursorPos
  668.   (KingGuppy)
  669. - added email styles (KingGuppy)
  670. - added primitive auto-spellchecking (requires util/gnu/ispell31p4bin.lha)
  671.   (KingGuppy)
  672. - added MUIM_Textinput_DoToggleCase and key control (KingGuppy)
  673. - marking can be resumed by holding shift when clicking (KingGuppy)
  674. - word and line marking behaviour has changed again (KingGuppy)
  675. - IsNumeric gadgets now have more protection against invalid characters being
  676.   inserted (KingGuppy)
  677. - added MUIM_Textinput_(In|De)crementDec and key control (KingGuppy)
  678. - added button in prefs to reset key bindings to default (KingGuppy)
  679. - added HTML styles (KingGuppy)
  680. - fixed rendering of characters with negative kerning at the start of lines
  681.   (KingGuppy)
  682. - added undo/redo (KingGuppy)
  683. - improved writemask calculation and fixed background artifacts (KingGuppy)
  684. - fixed two small errors in marked area rendering which resulted in one
  685.   character in a marked area possibly being displayed unselected (KingGuppy)
  686.  
  687. 22.0
  688. ----
  689. - added MUIA_Textinput_HandleURLHook (KingGuppy)
  690. - getting MUIA_Textinput_Integer is now guaranteed to always return a number
  691.   between MinVal and MaxVal (KingGuppy)
  692. - fixed some characters being partially cut off at the beginning of a line
  693.   (KingGuppy)
  694. - fixed more lame kerning-related bugs (KingGuppy, thanks Olli)
  695. - fixed clicking in secret gadgets not moving the cursor (KingGuppy)
  696. - fixed Textinputscroll objects accidentally rendering the cursor outside the
  697.   appropriate area (KingGuppy)
  698. - improved redraw and fixed some bugs which occassionally resulted in
  699.   artifacts (KingGuppy)
  700. - added bookmarks (KingGuppy)
  701. - renamed old "Cut line", which didn't cut to clipboard, to "Del line", and
  702.   added a true "Cut line" action (KingGuppy)
  703. - allowed variable cursor size (KingGuppy)
  704. - URL and misspelling underline colours are now configurable (KingGuppy)
  705. - undo limits are now configurable (KingGuppy)
  706. - disabled spell-checking for this public release (KingGuppy)
  707.  
  708. 22.1
  709. ----
  710. - fixed marking not being reset when deleting/cutting a line (Troels)
  711. - fixed mcc header to work with GCC (Zapek)
  712.  
  713. 22.2
  714. ----
  715. - added newmouse mouse wheel support (Olli)
  716.  
  717. 22.3
  718. ----
  719. - changed HTML syntax highlighting to use colours and distinctly mark tags,
  720.   quoted values, comments and entities (KingGuppy)
  721.  
  722. 22.4
  723. ----
  724. - fixed a few crashes with Textinputscroll.mcc in NoInput mode (Olli)
  725. - now all allocated pens are freed (Olli)
  726. - scrollbars for multiline noinput gadgets are now dynamically added and
  727.   removed (KingGuppy)
  728.  
  729. 22.5
  730. ----
  731. - now closes vapor_toolkit.library on exit (Troels)
  732.  
  733. 23.0
  734. ----
  735. - added a configurable fixed-width font and MUIA_Textinput_Font (KingGuppy)
  736.  
  737. 24.0
  738. ----
  739. - added MUIA_Textinput_[Suggest|Prohibit]Parse (KingGuppy)
  740. - added non-standard ESC 0 MUI style code to revert to default pen (KingGuppy)
  741. - AppendText now properly notifies and rescans URLs (KingGuppy)
  742.  
  743. 24.1
  744. ----
  745. - properly bumped version string (KingGuppy)
  746. - removed writemask when using a custom background to fix graphical glitches
  747.   under some circumstances (KingGuppy)
  748. - now exports and imports its contents like string class during
  749.   MUIM_Application_(Load|Save) (KingGuppy)
  750.  
  751. 25.0
  752. ----
  753. - fixed a potential crash with illegal input expression
  754.   specifications (Olli)
  755.  
  756. 26.0
  757. ----
  758. - added MUIA_Textinput_NoCopy, which disables selecting or copying text
  759.   (KingGuppy)
  760. - preferences for the external editor button image are now properly used
  761.   (KingGuppy)
  762.  
  763. 26.1
  764. ----
  765. - hopefully fixed a problem with the editor popup gadget image (Olli)
  766.  
  767. 26.2
  768. ----
  769. - added option to turn off email style highliting (Olli)
  770.  
  771. 26.3
  772. ----
  773. - MUIA_Textinput_Numeric was incorrectly documented in the header as get-only.
  774.   It is in fact isg. Fixed (KingGuppy)
  775.  
  776. 26.4
  777. ----
  778. - hopefully fixed background rendering in virtgroups (KingGuppy)
  779. - finished adding smooth scrolling, and hopefully fixed a few glitches -
  780.   without adding too many - in the process (KingGuppy)
  781. - should now always stop blinking the cursor when disabled (KingGuppy)
  782. - fixed disabling of email quote highlighting, and also improved the colour
  783.   scheme slightly. You can now enable it without having to use protective
  784.   eyewear (KingGuppy)
  785.  
  786. 26.5
  787. ----
  788. - clips with multiple CHRS chunks will now be pasted fully (KingGuppy)
  789. - changed wheel to actually scroll lines regardless of cursor position
  790.   (Olli)
  791.  
  792. 26.6
  793. ----
  794. - the editor button prefs gadget will now scale with the size of the window
  795.   (KingGuppy)
  796. - setting the external editor to run synchronously should now work properly
  797.   (KingGuppy)
  798.  
  799. 26.7
  800. ----
  801. - corrected mirc color emulation (MUIV_Textinput_Styles_IRC) palette map and
  802.   colorcode parsing (Entity)
  803.  
  804. 26.8
  805. ----
  806. - removed some task priority changes which were affecting MUI scrollbars
  807.   (Zapek)
  808.  
  809. 26.9
  810. ----
  811. - fixed eating of all rawkeys in eventhandler (Olli)
  812. - AttachedList forwarding now uses MUIM_HandleEvent instead
  813.   of HandleInput, for MUI4 (Olli)
  814.  
  815. 26.10
  816. -----
  817. - "blank" cursor is now rendered with "n" width, instead of space,
  818.   to conform to the old-style Intuition gadget (Olli)
  819. - major speed improvement in "blank" cursor rendering (Olli)
  820. - event handler now uses MUI_EHN_GUIMODE for MUI4 (Olli)
  821. - now sets cl_ID if running with MUIMaster >= 20, for better
  822.   debugging (Olli)
  823.  
  824. 26.11
  825. -----
  826. - recompiled to work with MUI3 (oops)
  827.  
  828. 27.0
  829. ----
  830. - fixed menu shortcut emulation to properly deal with CHECKIT
  831.   and MENUTOGGLE (Olli)
  832.  
  833. 27.1
  834. ----
  835. - some rendering speedups, esspecially with block (default)
  836.   cursor mode (Olli)
  837.